<%@ taglib uri="http://struts.apache.org/tags-bean"    prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html"    prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic"    prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-nested"  prefix="nested" %>


<script>
function validacionesEspeciales(form){
	
	//Nombre
	if (form.nombre.value==""){
		alert ("El nombre es un campo necesario");
		return false;
	}
	if (form.nombre.value.length > 45){
		alert ("El nombre ha de ser menor de 45 caracteres");
		return false;
	}
	
	//Apellidos
	if (form.apellidos.value==""){
		alert ("Los apellidos es un campo necesario");
		return false;
	}
	if (form.apellidos.value.length > 60){
		alert ("Los apellidos han de de ser menor de 60 caracteres");
		return false;
	}
	
	//dni
	if (form.dni.value==""){
		alert ("El dni es un campo necesario");
		return false;
	}
	if (form.dni.value.length > 11){
		alert ("El dni ha de ser menor de 11 caracteres");
		return false;
	}
	
	//mail
	if (form.mail.value==""){
		alert ("El mail es un campo necesario");
		return false;
	}
	var atpos=form.mail.value.indexOf("@");
	var dotpos=form.mail.value.lastIndexOf(".");
	if (atpos<1 || dotpos<atpos+2 || dotpos+2>=form.mail.value.length)
	  {
	  alert("La direcci&oacute;n de email es incorrecta.");
	  return false;
	  }

	//password
	if (form.password.value==""){
		alert ("El password es un campo necesario");
		return false;
	}
	if (form.password.value.length > 15){
		alert ("El password ha de ser menor de 15 caracteres");
		return false;
	}
	
	if (form.password.value != form.confirmPassword.value){
		alert ("Las passwords no coinciden");
		form.password.focus();
		return false;
	}

	if (form.idRol.selectedIndex ==0){
		alert ("Ha de seleccionar un rol para poder dar de alta");
		return false;
	}

	if (form.idRol.options[form.idRol.selectedIndex].text.toLowerCase()=="alumno"){
		if ((form.idCentro.selectedIndex==0) || (form.expediente.value=="")){
			alert ("Es obligatorio rellenar el centro y el expediente al tratarse de un alumno");
			return false;
		} 
		
	}
	
	if (form.idRol.options[form.idRol.selectedIndex].text.toLowerCase()=="profesor"){
		if (form.idDepartamento.selectedIndex==0){
			alert ("Es obligatorio rellenar el departamento al tratarse de un profesor");
			return false;
		} 
	}
	
	return true;
}


function mostrar(nombreCapa){ 
	document.getElementById(nombreCapa).style.visibility="visible"; 
	}
	
function ocultar(nombreCapa){ 
	document.getElementById(nombreCapa).style.visibility="hidden"; 
	} 
	

function mostrarDatosSinForm(){
	if (document.RegistroUsuariosForm.idRol.options[document.RegistroUsuariosForm.idRol.selectedIndex].text.toLowerCase()=="alumno"){
		ocultar("datos_profesor");
		mostrar("datos_alumno");
	}
	else if (document.RegistroUsuariosForm.idRol.options[document.RegistroUsuariosForm.idRol.selectedIndex].text.toLowerCase()=="profesor"){
		//mostramos los datos de profesor
		mostrar("datos_profesor");
		ocultar("datos_alumno");
	}
	else {
		ocultar("datos_profesor");
		ocultar("datos_alumno");
	}
}

</script>

<h2>Registro y edici&oacute;n de usuarios</h2>

<html:form action="/vFormularioRegistroUsuarios" method="post" onsubmit="return validacionesEspeciales(this);" >
<div style="color: red">
<html:errors />
</div>
<br></br>
	<html:hidden property="idAlumno"/>
	<html:hidden property="operacion"/>
	<logic:equal name="RegistroUsuariosForm" property="operacion" value="update">
		<html:hidden property="idRolUpdate"/>
	</logic:equal>
	
 	<input type="hidden" name="dispatch" value="insertOrUpdate"/>

      <div class="formulario_etiqueta">
   			* Nombre:
  	  </div>
  	  <div class="formulario_campo">
      <html:text name="RegistroUsuariosForm" property="nombre"/>
      
      </div>
      <div class="formulario_fin"></div>

 	  <div class="formulario_etiqueta">
   			* Apellidos:
  	  </div>
  	  <div class="formulario_campo">
      <html:text name="RegistroUsuariosForm" property="apellidos"/>
      </div>
      <div class="formulario_fin"></div>
      
      
		<div class="formulario_etiqueta">
   			* DNI:
  	  </div>
  	  <div class="formulario_campo">
  	  	<html:text name="RegistroUsuariosForm" property="dni"/>
  	  	</div>
  	  <div class="formulario_fin"></div>
      

      <div class="formulario_etiqueta">
   			* Rol:
  	  </div>
  	  <div class="formulario_campo">
   
  
   <html:select property="idRol" onchange="mostrarDatosSinForm()" >
		<html:option value="0">Elige Rol</html:option>
	    <html:optionsCollection name="RegistroUsuariosForm" property="listaRol" label="descripcion" value="idRol" />
	</html:select>
	
	<logic:equal name="RegistroUsuariosForm" property="operacion" value="update">
		&nbsp; <i>No puede modificarse</i>
	</logic:equal>
		</div>
		<div class="formulario_fin"></div>
		

  	  <div class="formulario_etiqueta">
  	  		* Mail:
  	  </div>
  	  <div class="formulario_campo">
      <html:text name="RegistroUsuariosForm" property="mail"/>
	</div>
	<div class="formulario_fin"></div>
	
 	<div class="formulario_etiqueta">
  	  		* Login:
  	  </div>
  	  <div class="formulario_campo">
      <html:text name="RegistroUsuariosForm" property="login"/>
      </div>
      <div class="formulario_fin"></div>


	<div class="formulario_etiqueta">
  	  		* Password: 
  	  </div>
  	  <div class="formulario_campo">
      <html:password name="RegistroUsuariosForm" property="password"/>
	</div>
	  <div class="formulario_fin"></div>

	<div class="formulario_etiqueta">
  	  		* Password 2:
  	  </div>
  	<div class="formulario_campo">
      <html:password name="RegistroUsuariosForm" property="confirmPassword"/>
	</div>
	  <div class="formulario_fin"></div>

	<div class="formulario_etiqueta">
  	  		* Notificaciones:
  	  </div>
  	  <div class="formulario_campo">
      <html:select name="RegistroUsuariosForm"  property="notificaciones">
     	<html:option value="false">No</html:option>
     	<html:option value="true">Si</html:option>
      </html:select>
      </div>
      <div class="formulario_fin"></div>
      <br></br>
     <div id="datos_alumno"> 
    <div class="formulario_campo">
  	  		DATOS EXTRA DE ALUMNO:
  	  </div> 
  	  	<br></br>
	<div class="formulario_fin"></div>

	<div class="formulario_etiqueta">
  	  		* Centro:
  	  </div>
  	 <div class="formulario_campo">
  	 <html:select property="idCentro" >
		<html:option value="0">Elige Centro</html:option>
	    <html:optionsCollection name="RegistroUsuariosForm" property="listaCentro" label="descripcion" value="idCentro" />
	</html:select>
	</div>
	<div class="formulario_fin"></div>
	
	<div class="formulario_etiqueta">
  	  		* Expediente
  	  </div>
  	  <div class="formulario_campo">
  	  <html:text name="RegistroUsuariosForm" property="expediente"/>
  	  </div>	
	<div class="formulario_fin"></div>
	</div>
	
	<br></br>
	<div id="datos_profesor">
	<div class="formulario_campo">
  	  		DATOS EXTRA DE PROFESOR:
  	  </div>
  	  	<br></br>
  	<div class="formulario_fin"></div>

    
	<div class="formulario_etiqueta">
  	  		* Departamento:
  	  </div>
  	 <div class="formulario_campo">
  	 <html:select property="idDepartamento" >
		<html:option value="0">Elige Departamento</html:option>
	    <html:optionsCollection name="RegistroUsuariosForm" property="listaDepartamento" label="descripcion" value="idDepartamento" />
	</html:select>
	</div>
<div class="formulario_fin"></div>
</div>
<br></br>
<br></br>
<center>
      <input type="submit" value="Enviar" />
</center>
</html:form>

<logic:equal name="RegistroUsuariosForm" property="operacion" value="update">
<script>
mostrarDatosSinForm();
</script>
</logic:equal>
<logic:equal name="RegistroUsuariosForm" property="operacion" value="insert">
<script>
//ocultar("datos_profesor");
//ocultar("datos_alumno");
//Si volvemos de atras o ha habido fallos de formulario
mostrarDatosSinForm();
</script>
</logic:equal>

<logic:equal name="RegistroUsuariosForm" property="operacion" value="update">
<script>
	//document.RegistroUsuariosForm.idRol.onfocus="t=document.RegistroUsuariosForm.idRol.innerHTML;if(window.ActiveXObject)o=document.RegistroUsuariosForm.idRol.outerHTML;this.blur()";
	//document.RegistroUsuariosForm.idRol.onchange="document.RegistroUsuariosForm.idRol.innerHTML=t;if(window.ActiveXObject)document.RegistroUsuariosForm.idRol.outerHTML=o";
	document.RegistroUsuariosForm.idRol.disabled=true;
</script>
</logic:equal>

